/**
 * 网络请求使用示例
 * 在Vue组件中使用 this.$oGet 和 this.$oPost
 */

// 示例组件代码
export default {
  name: 'RequestExample',
  methods: {
    // GET请求示例
    async getUserList() {
      try {
        const response = await this.$oGet('/user/list', {
          page: 1,
          size: 10
        })
        console.log('用户列表:', response)
        return response
      } catch (error) {
        console.error('获取用户列表失败:', error)
      }
    },

    // POST请求示例
    async createUser(userData) {
      try {
        const response = await this.$oPost('/user/create', {
          name: userData.name,
          email: userData.email,
          phone: userData.phone
        })
        console.log('创建用户成功:', response)
        return response
      } catch (error) {
        console.error('创建用户失败:', error)
      }
    },

    // 带自定义配置的GET请求
    async getUserById(id) {
      try {
        const response = await this.$oGet(`/user/${id}`, {}, {
          timeout: 5000,
          headers: {
            'Custom-Header': 'value'
          }
        })
        console.log('用户详情:', response)
        return response
      } catch (error) {
        console.error('获取用户详情失败:', error)
      }
    },

    // 带自定义配置的POST请求
    async updateUser(id, userData) {
      try {
        const response = await this.$oPost(`/user/${id}/update`, userData, {
          timeout: 10000,
          headers: {
            'Content-Type': 'application/json'
          }
        })
        console.log('更新用户成功:', response)
        return response
      } catch (error) {
        console.error('更新用户失败:', error)
      }
    }
  }
}